package main

import (
	"mytool/tools"
	"os"
)

func showLogo() {
	logo := ` _____ ______       ___    ___ _________  ________  ________  ___          
|\   _ \  _   \    |\  \  /  /|\___   ___\\   __  \|\   __  \|\  \         
\ \  \\\__\ \  \   \ \  \/  / ||___ \  \_\ \  \|\  \ \  \|\  \ \  \        
 \ \  \\|__| \  \   \ \    / /     \ \  \ \ \  \\\  \ \  \\\  \ \  \       
  \ \  \    \ \  \   \/  /  /       \ \  \ \ \  \\\  \ \  \\\  \ \  \____  
   \ \__\    \ \__\__/  / /          \ \__\ \ \_______\ \_______\ \_______\
    \|__|     \|__|\___/ /            \|__|  \|_______|\|_______|\|_______|
                  \|___|/                                                  
`
	tools.Out(logo)
	tools.Out(tools.Version(), "\n")
}

func main() {
	t := tools.InitMyTool().
		AddOptions(tools.FileTools()).
		AddOption(tools.ProcessTool()).
		AddOption(tools.SystemTool()).
		AddOptions(tools.NetTools()).
		AddOption(tools.TelnetTool()).
		AddOptions(tools.CommonTools()).
		AddOptions(tools.ShareTools()).
		AddOption(tools.NavTool()).
		AddOptions(tools.HttpProxyTools()).
		AddOption(tools.ExcelTool()).
		AddOption(tools.SshTool()).
		AddOptions(tools.WinRegisterTools())

	if len(os.Args) == 1 {
		// 交互式运行
		showLogo()
		t.RunLoop()
	} else {
		// 命令行方式运行
		t.MatchCommand(os.Args[1:])
	}
}
